paste this into you remote events, put it last, because it uses ON TEXT:*: which means that it traps every ON TEXT event it encounters, so any ON TEXT events after it will never trigger. Also channel flood control scripts have to use the same routine, so you can't run both in the same client with different events. -------8<-------------cut here ----------------8<--------------cut here------------8<--------- +1@:ON TEXT:*:#:{ set -q %x 1 set -q %text $len($parms) if %text < 6 { goto end } :letters if %x > %text { goto kicker } if $asc($mid(%x,%text,$parms)) == $asc($upper($mid(%x,%text,$parms))) { inc %x | goto letters } else { goto end } :kicker ban -u8 $chan $nick 3 notice $nick CAPSLOCK detected, Please don't Talk in all UPPER CASE, it's considered rude (this ban will be lifted in a moment) onotice $chan [ops] capslock warning sent to $nick echo 5 $active [ops] capslock warning sent to $nick :end } 1@:ON ACTION:*:#:{ set -q %x 1 set -q %text $len($parms) if %text < 6 { goto end } :letters if %x > %text { goto kicker } if $asc($mid(%x,%text,$parms)) == $asc($upper($mid(%x,%text,$parms))) { inc %x | goto letters } else { goto end } :kicker ban -u8 $chan $nick 3 notice $nick CAPSLOCK detected, Please don't Talk in all UPPER CASE, it's considered rude (this ban will be lifted in a moment) onotice $chan [ops] capslock warning sent to $nick echo 5 $active [ops] capslock warning sent to $nick :end rem Another Despayre Production ©1996 }